home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / a_utils / _archvrs / unix / shar.lha / shar / README < prev    next >
Text File  |  1987-12-03  |  4KB  |  114 lines

  1. This set of tools is designed to make it easier to ship sources around.
  2. I wrote them because I do a lot of that as moderator of mod.sources, and
  3. nothing else did the job for me.  This set isn't perfect, but's very
  4. close.  Included are a program to find source files, a program to partition
  5. them into reasonable sizes, a program to make shell archives out of
  6. them, a program to strip mail, news, and notes headers from archives
  7. before feeding them to a shell, and a program to simulate /bin/sh for
  8. non-Unix system.
  9.  
  10. The sources in this distribution are being released into the public
  11. domain; do what you want, but let your conscience be your guide.
  12. If you somehow enhance this package, please send it on to me so that
  13. others can benefit.
  14.  
  15. I'll try to answer any questions or problems that come up -- send me
  16. electronic mail.
  17.  
  18. To install, edit the Makefile and shar.h as necessary (see detailed list
  19. of parameters, below), then run make; doing make install will put the
  20. manpages and executables where you told it to.  I don't think "make lint"
  21. will work anywhere other than a 4.[23]BSD system.
  22.  
  23. If you aren't running on Unix, then you will have to write replacements
  24. for the functions in sysfuncs.c; everything else should be OK.  If you
  25. don't have a Unix-like make available, you will have to write a command
  26. script or otherwise work out something with your compiler.
  27.  
  28. I freely stole ideas from a number of people who have been good enough to
  29. put their stuff out on Usenet.  Particular thanks to Gary Perlman and Larry
  30. Wall for giving me something nice to reverse-engineer, and Michael Mauldin
  31. for unshar.  It may have been a mistake to take people's names out of the
  32. code; if I upset anyone by doing this, please let me know.
  33.  
  34. There are a couple of things that could still be done, but I'm tired of
  35. working on this, and I don't need them often enough to want to come up
  36. with general solutions.  Specifically:
  37.         Automatically splitting up large text files;
  38.         Automatically invoking uuencode when sending binaries; and
  39.         Perhaps arranging for the archive to invoke uudecode.
  40.  
  41. Enjoy!
  42.     Richard $alz
  43.     Mirror Systems
  44.     2067 Massachusetts Avenue
  45.     Cambridge, MA  02140
  46.     {ihnp4, harvard!wjh12, cca, cbosgd, seismo}!mirror!rs
  47.     rs%mirror.UUCP@cca
  48.     rs@mirror.TMC.COM
  49.  
  50. My, my, my, aren't we anal:
  51.     $Header: README,v 1.7 87/03/24 18:09:04 rs Exp $
  52.  
  53. COMPILATION PARAMETERS
  54. ----------------------
  55. [The Makefile is ... er ... self-documented.]
  56.  
  57. CAN_POPEN
  58.     If #define'd, then findsrc will do a popen() to file(1) to see if
  59.     the file is executable, etc.
  60.  
  61. DEF_SAVEIT
  62.     This is used by unshar, and sets whether or not to save the headers
  63.     by default.
  64.  
  65. GETWD GETCWD PWDPOPEN PWDGETENV
  66.     These are used in cwd.c to determine how to find out the current
  67.     directory, which unshar sometimes needs to know.
  68.  
  69. GETHOSTNAME HOST UNAME UUNAME WHOAMI
  70.     There are used in host.c to determine how to find out the host name,
  71.     which shar needs to know.
  72.  
  73. IDX, RDX
  74.     Some Unices call index/rindex strchr/strrchr.
  75.  
  76. IN_SYS_DIR IN_SYS_NDIR IN_NDIR
  77.     The findsrc program uses the BSD-style directory-reading routines.
  78.     These routines, and the structures they use, are typically defined in
  79.     one of <sys/dir.h> <sys/ndir.h> or "ndir.h", respectively.
  80.  
  81. NEED_MKDIR
  82.     In sysfuncs, this includes a subroutine that calls system() to do a
  83.     mkdir command; otherwise mkdir() must be in your C library.
  84.  
  85. NEED_GETOPT
  86.     Define this if getopt is not in your C library.
  87.  
  88. SYS_WAIT
  89.     Define this if you have <sys/wait.h> and the vfork system call.
  90.  
  91. THE_TTY
  92.     This should be a "device" to open so we can read input from the
  93.     user's terminal if standard input is, e.g., coming from a file.
  94.     Unix systems should use the default "/dev/tty"; MS-DOS and would
  95.     be "CON:" I guess?
  96.  
  97. USE_MY_SHELL
  98.     Used in unshar.  If #define'd, then the archive is passed to my shell
  99.     interpreter sub-routine.  The default is to do a popen() to /bin/sh.
  100.  
  101. USER_ENV
  102.     The name of the environment variable that holds the user's name,
  103.     which shar needs to know.
  104.  
  105. typedef int    *align_t
  106.     This is a worst-case alignment, to get lint to shut up about malloc'd
  107.     space.  For ANSI C, e.g., this should be "typedef void *align_t".
  108.  
  109. typedef long    time_t
  110.     What datatype is needed to hold a time value.
  111.  
  112. typedef long    off_t
  113.     What datatype is needed to hold a file size.
  114.